package com.agentai.system.service;

import com.agentai.framework.common.dict.DictModel;
import com.agentai.framework.common.utils.PageResult;
import com.agentai.framework.mybatis.service.BaseService;
import com.agentai.system.entity.SysDictDataEntity;
import com.agentai.system.query.SysDictDataQuery;
import com.agentai.system.vo.SysDictDataVO;

import java.util.List;

/**
 * 数据字典
  */
public interface SysDictDataService extends BaseService<SysDictDataEntity> {

    PageResult<SysDictDataVO> page(SysDictDataQuery query);

    void save(SysDictDataVO vo);

    void update(SysDictDataVO vo);

    void delete(List<Long> idList);

    /**
     * 普通字典的翻译
     *
     * @param code
     * @param key
     * @return
     */
    String translateDict(String code, String key);


    /**
     * 获取数据字典 (包含删除的字典项)
     *
     * @param code
     * @return
     */
    List<DictModel> queryDictItemsByCode(String code);

    /**
     * 获取有效的数据字典项 (不包含删除的字典项)
     *
     * @param code
     * @return
     */
    List<DictModel> queryEnableDictItemsByCode(String code);
}
